From ea3b5838d8c4992fd254d44444bcb9216fdd227e Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Tue, 28 Nov 2006 18:00:45 +0000 Subject: [PATCH] Wait for device-bringup inside domain_start, outside the scope of the domains_lock. This makes the VM.start call blocking, but allows xm list to work while it is blocked. Move the handling of start_paused out of XendDomainInfo.start as part of this. Signed-off-by: Ewan Mellor --- tools/python/xen/xend/XendDomain.py | 5 ++++- tools/python/xen/xend/XendDomainInfo.py | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index 27b3a1b857..839acc8da6 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -908,10 +908,13 @@ class XendDomain: if dominfo.state != DOM_STATE_HALTED: raise XendError("Domain is already running") - dominfo.start(is_managed = True, start_paused = start_paused) + dominfo.start(is_managed = True) self._add_domain(dominfo) finally: self.domains_lock.release() + dominfo.waitForDevices() + if not start_paused: + dominfo.unpause() def domain_delete(self, domid): diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 70535174aa..26428a0304 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -425,7 +425,7 @@ class XendDomainInfo: # - def start(self, is_managed = False, start_paused = True): + def start(self, is_managed = False): """Attempts to start the VM by do the appropriate initialisation if it not started. """ @@ -439,8 +439,6 @@ class XendDomainInfo: self._storeDomDetails() self._registerWatches() self.refreshShutdown() - if not start_paused: - self.unpause() # save running configuration if XendDomains believe domain is # persistent -- 2.30.2